package com.cw.entity;

import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
* @author smq
* @since 2021-05-06
*/
@ApiModel(value = "住院预约表")
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("HIS.II_PREPAYIN")
public class ThisIiPrepayin implements Serializable {

private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "病历号")
    @ExcelProperty(value = "CARD_NO")
    @TableField("CARD_NO")
    private String cardNo;

    @ApiModelProperty(value = "姓名")
    @ExcelProperty(value = "NAME")
    @TableField("NAME")
    private String name;

    @ApiModelProperty(value = "性别")
    @ExcelProperty(value = "SEX")
    @TableField("SEX")
    private String sex;

    @ApiModelProperty(value = "出生日期")
    @ExcelProperty(value = "BIRTHDAY")
    @TableField("BIRTHDAY")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime birthday;

    @ApiModelProperty(value = "预约科室")
    @ExcelProperty(value = "DEPT_CODE")
    @TableField("DEPT_CODE")
    private String deptCode;

    @ApiModelProperty(value = "预约科室名称")
    @ExcelProperty(value = "DEPT_NAME")
    @TableField("DEPT_NAME")
    private String deptName;

    @ApiModelProperty(value = "预约大科")
    @ExcelProperty(value = "SDEPT_CODE")
    @TableField("SDEPT_CODE")
    private String sdeptCode;

    @ApiModelProperty(value = "结算类别")
    @ExcelProperty(value = "PAYKIND_CODE")
    @TableField("PAYKIND_CODE")
    private String paykindCode;

    @ApiModelProperty(value = "合同单位")
    @ExcelProperty(value = "PACT_CODE")
    @TableField("PACT_CODE")
    private String pactCode;

    @ApiModelProperty(value = "床号")
    @ExcelProperty(value = "BED_NO")
    @TableField("BED_NO")
    private String bedNo;

    @ApiModelProperty(value = "护士站")
    @ExcelProperty(value = "NURSE_CELL_CODE")
    @TableField("NURSE_CELL_CODE")
    private String nurseCellCode;

//    @ApiModelProperty(value = "护士站名")
//    @ExcelProperty(value = "NURSE_CELL_NAME ")
//    @TableField("NURSE_CELL_NAME")

    @TableField(exist = false)
    private String nurseCellName;

    @ApiModelProperty(value = "操作日期")
    @ExcelProperty(value = "OPER_DTIME")
    @TableField("OPER_DTIME")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime operDtime;

    @ApiModelProperty(value = "操作员")
    @ExcelProperty(value = "OPER_CODE")
    @TableField("OPER_CODE")
    private String operCode;

    @ApiModelProperty(value = "预交金")
    @ExcelProperty(value = "PREPAY_COST")
    @TableField("PREPAY_COST")
    private BigDecimal prepayCost;

    @ApiModelProperty(value = "身份证号")
    @ExcelProperty(value = "IDENNO")
    @TableField("IDENNO")
    private String idenno;

    @ApiModelProperty("证件类型 0 ：居民身份证 1：护照 2：港澳台身份证 3：陆行证据 9 其他")
    @TableField("IDEN_TYPE")
    private String idenType;

    @ApiModelProperty(value = "职务")
    @ExcelProperty(value = "PROF_CODE")
    @TableField("PROF_CODE")
    private String profCode;

    @ApiModelProperty(value = "工作单位")
    @ExcelProperty(value = "WORK_NAME")
    @TableField("WORK_NAME")
    private String workName;

    @ApiModelProperty(value = "工作单位电话")
    @ExcelProperty(value = "WORK_TEL")
    @TableField("WORK_TEL")
    private String workTel;

    @ApiModelProperty(value = "家庭住址")
    @ExcelProperty(value = "HOME")
    @TableField("HOME")
    private String home;

    @ApiModelProperty(value = "宅电")
    @ExcelProperty(value = "HOME_TEL")
    @TableField("HOME_TEL")
        private String homeTel;

    @ApiModelProperty(value = "籍贯")
    @ExcelProperty(value = "DIST")
    @TableField("DIST")
    private String dist;

    @ApiModelProperty(value = "出生地")
    @ExcelProperty(value = "BIRTH_AREA")
    @TableField("BIRTH_AREA")
    private String birthArea;

    @ApiModelProperty(value = "民族")
    @ExcelProperty(value = "NATION_CODE")
    @TableField("NATION_CODE")
    private String nationCode;

    @ApiModelProperty(value = "联系人")
    @ExcelProperty(value = "LINKMA_NAME")
    @TableField("LINKMA_NAME")
    private String linkmaName;

    @ApiModelProperty(value = "联系人电话")
    @ExcelProperty(value = "LINKMAN_TEL")
    @TableField("LINKMAN_TEL")
    private String linkmanTel;

    @ApiModelProperty(value = "联系人地址")
    @ExcelProperty(value = "LINKMAN_ADD")
    @TableField("LINKMAN_ADD")
    private String linkmanAdd;

    @ApiModelProperty(value = "与本人关系")
    @ExcelProperty(value = "RELA_CODE")
    @TableField("RELA_CODE")
    private String relaCode;

    @ApiModelProperty(value = "婚否")
    @ExcelProperty(value = "MARI")
    @TableField("MARI")
    private String mari;

    @ApiModelProperty(value = "国籍")
    @ExcelProperty(value = "COUN_CODE")
    @TableField("COUN_CODE")
    private String counCode;

    @ApiModelProperty(value = "医疗证号")
    @ExcelProperty(value = "MCARD_NO")
    @TableField("MCARD_NO")
    private String mcardNo;

    @ApiModelProperty(value = "期望入院日期")
    @ExcelProperty(value = "PREDATE")
    @TableField("PREDATE")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime predate;

    @ApiModelProperty(value = "主管医生")
    @ExcelProperty(value = "PREDOCT_CODE")
    @TableField("PREDOCT_CODE")
    private String predoctCode;

    @TableField(exist = false)
    private String doctName;

    @ApiModelProperty(value = "诊断代码")
    @ExcelProperty(value = "DIAG_CODE")
    @TableField("DIAG_CODE")
    private String diagCode;

    @ApiModelProperty(value = "诊断名称")
    @ExcelProperty(value = "DIAG_NAME")
    @TableField("DIAG_NAME")
    private String diagName;

    @ApiModelProperty(value = "状态 （1预约0取消预约2转入院3出院4待床5已通知9作废）")
    @ExcelProperty(value = "PRE_STATE")
    @TableField("PRE_STATE")
    private String preState;

    @ApiModelProperty(value = "在院状态1一般2急3病危4新入院5转入6手术7重症")
    @ExcelProperty(value = "IN_STATE")
    @TableField("IN_STATE")
    private String inState;

    @ApiModelProperty(value = "备注")
    @ExcelProperty(value = "BEIZHU")
    @TableField("BEIZHU")
    private String beizhu;

    @ApiModelProperty(value = "暂未使用取数据用pre_state")
    @ExcelProperty(value = "IF_INHOS")
    @TableField("IF_INHOS")
    private String ifInhos;

    @ApiModelProperty(value = "是否31日内非计划再次入院")
    @ExcelProperty(value = "IF_INHOS_PLAN")
    @TableField("IF_INHOS_PLAN")
    private String ifInhosPlan;

    @ApiModelProperty(value = "外伤")
    @ExcelProperty(value = "IF_INHOS_EXTERNAL")
    @TableField("IF_INHOS_EXTERNAL")
    private String ifInhosExternal;

    @ApiModelProperty(value = "是否急")
    @ExcelProperty(value = "IF_EMERGENCY")
    @TableField("IF_EMERGENCY")
    private String ifEmergency;

    @ApiModelProperty(value = "步行")
    @ExcelProperty(value = "IF_WALK")
    @TableField("IF_WALK")
    private String ifWalk;

    @ApiModelProperty(value = "抬椅")
    @ExcelProperty(value = "IF_CHAIR")
    @TableField("IF_CHAIR")
    private String ifChair;

    @ApiModelProperty(value = "病车")
    @ExcelProperty(value = "IF_AMBULANCE")
    @TableField("IF_AMBULANCE")
    private String ifAmbulance;

    @ApiModelProperty(value = "是否日间手术")
    @ExcelProperty(value = "IF_RJBF")
    @TableField("IF_RJBF")
    private String ifRjbf;

    @ApiModelProperty(value = "挂号单的处方号")
    @ExcelProperty(value = "CLINIC_CODE")
    @TableField("CLINIC_CODE")
    private String clinicCode;

    @ApiModelProperty(value = "病人标签：1日间手术、2院前准备、3疑似新冠0普通")
    @ExcelProperty(value = "PATIENT_TAG")
    @TableField("PATIENT_TAG")
    private String patientTag;

    @ApiModelProperty(value = "住院流水号")
    @ExcelProperty(value = "INPATIENT_NO")
    @TableField("INPATIENT_NO")
    private String inpatientNo;

    @ApiModelProperty(value = "办理入院日期")
    @ExcelProperty(value = "RY_TIME")
    @TableField("RY_TIME")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime ryTime;

    @ApiModelProperty(value = "办理入院操作员")
    @ExcelProperty(value = "RY_CODE")
    @TableField("RY_CODE")
    private String ryCode;

    @ApiModelProperty(value = "预约记录ID号，做主键")
    @TableId(value = "PREID")
    private BigDecimal preid;

    @ApiModelProperty(value = "改为取消状态的操作时间")
    @ExcelProperty(value = "CANCELTIME")
    @TableField("CANCELTIME")
    private LocalDateTime canceltime;

    @ApiModelProperty(value = "改为待床状态的操作时间")
    @ExcelProperty(value = "READYTIME")
    @TableField("READYTIME")
    private LocalDateTime readytime;

    @ApiModelProperty(value = "诊疗组长")
    @ExcelProperty(value = "ZLZZ")
    @TableField("ZLZZ")
    private String zlzz;

    @ApiModelProperty(value = "入院描述诊断")
    @ExcelProperty(value = "MSZD")
    @TableField("MSZD")
    private String mszd;

    @ApiModelProperty(value = "通知时间")
    @ExcelProperty(value = "TZ_TIME")
    @TableField("TZ_TIME")
    private LocalDateTime tzTime;

    @ApiModelProperty(value = "通知人")
    @ExcelProperty(value = "TZ_CODE")
    @TableField("TZ_CODE")
    private String tzCode;

    @ApiModelProperty(value = "登记状态 0 未登记   1已登记  ")
    @ExcelProperty(value = "REGISTE_STATUS")
    @TableField("REGISTE_STATUS")
    private String registeStatus;

    @ApiModelProperty("年龄")
    @TableField(exist = false)
    private String age;

    @ApiModelProperty(value = "是否手动录入0 否   1是")
    @ExcelProperty(value = "IS_MANUAL")
    @TableField("IS_MANUAL")
    private String isManual;

    @ApiModelProperty("状态")
    @TableField(exist = false)
    private String status;

    @TableField(exist = false)
    @ApiModelProperty(value = "门诊")
    private String consultationCode;

    @ApiModelProperty("用于前端判断是否选中")
    @TableField(exist = false)
    private boolean checked = false;

    @TableField(exist = false)
    @ApiModelProperty(value = "待床")
    private String preStateName;

    @TableField(exist = false)
    @ApiModelProperty(value = "挂号级别码")
    private String registeCode;


    @ApiModelProperty("诊断名称")
    @TableField("DIAG_NAME2")
    private String diagName2;

    @ApiModelProperty("诊断代码")
    @TableField("DIAG_CODE2")
    private String diagCode2;

    @ApiModelProperty("诊断名称")
    @TableField("DIAG_NAME3")
    private String diagName3;

    @ApiModelProperty("诊断代码")
    @TableField("DIAG_CODE3")
    private String diagCode3;

    @ApiModelProperty("预手术编码")
    @TableField("PRE_OPCODE")
    private String preOpcode;

    @ApiModelProperty("预手术名称")
    @TableField("PRE_OPNAME")
    private String preOpname;

    @ApiModelProperty("预手术级别")
    @TableField("PRE_OPCLASS")
    private String preOpclass;

    @ApiModelProperty("是否为新技术")
    @TableField("YN_NEWTECH")
    private String ynNewtech;

    @ApiModelProperty("是否跨科收治")
    @TableField("YN_OTHERWARD")
    private String ynOtherward;

    @ApiModelProperty("意向床位编码")
    @TableField("BEDNO_WANGTED")
    private String bednoWangted;

    @ApiModelProperty("多余字段，用来存自费医保的类型")
    @TableField("MEMO")
    private String memo;

    @ApiModelProperty("专业组编号")
    @TableField("MEDICAL_GROUP_CODE")
    private String medicalGroupCode;

    @ApiModelProperty("专业组名称")
    @TableField("MEDICAL_GROUP_NAME")
    private String medicalGroupName;

    @ApiModelProperty("专业组组长编号")
    @TableField("MEDICAL_GROUP_LEADER_CODE")
    private String medicalGroupLeaderCode;

    @ApiModelProperty("专业组组长名称")
    @TableField("MEDICAL_GROUP_LEADER_NAME")
    private String medicalGroupLeaderName;

}
